//
//  MPDocumentHttpClient.h
//  SearchPeople
//
//  Created by zk on 16/5/10.
//
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "MPRequest.h"

/**
 *  创建  删除 获取档案 的请求
 */
@interface MPDocumentHttpClient : NSObject

+ (MPDocumentHttpClient *)shareInstance;

#pragma mark - 上传图片
- (MPRequest *)uploadImage:(UIImage *)image
          WithSuccessBlock:(MPRequestCompletedBlock )successBlock
           WithFailedBlock:(MPRequestCompletedBlock )failedBlcok;

#pragma mark - 创建档案

/**
 *  Description
 *
 *  @param type         type description
 *  @param picUrl       picUrl description
 *  @param name         name description
 *  @param description  description description
 *  @param time         time description
 *  @param mobile       mobile description
 *  @param address      address description
 *  @param successBlock successBlock description
 *  @param failedBlcok
 *
 *  @return return value description
 */
- (MPRequest *)CreateDocumentWithType:(NSInteger)type
                           WithpicUrl:(NSString *)picUrl
                             WithName:(NSString *)name
                      WithDescription:(NSString *)description
                             WithTime:(NSString *)time
                           WithMobile:(NSString *)mobile
                          WithAddress:(NSString *)address
                     WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                      WithFailedBlock:(MPRequestCompletedBlock )failedBlcok;

#pragma mark - 删除档案

/**
 *  Description
 *
 *  @param ID           ID description
 *  @param successBlock successBlock description
 *  @param failedBlock  failedBlock description
 *
 *  @return return value description
 */
- (MPRequest *)DeleteDocumentWithID:(NSString *)ID
                   WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                    WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 获取档案 

/**
 *  Description
 *
 *  @param type         type description
 *  @param successBlock successBlock description
 *  @param failedBlock  failedBlock description
 *
 *  @return return value description
 */
- (MPRequest *)GetDocumentWithType:(NSInteger)type
                  WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                   WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 注册

- (MPRequest *)RegisterWithUsername:(NSString *)username
                       WithPassword:(NSString *)Password
                   WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                    WithFailedBlcok:(MPRequestCompletedBlock )failedBlcok;

#pragma mark - 登录

- (MPRequest *)LoginWithUsername:(NSString *)username
                    WithPassword:(NSString *)password
                WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                 WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 修改用户信息

- (MPRequest *)ModifyUserInfoWithUserID:(NSString *)UserID
                          WithHeadImage:(NSString *)headImage
                           WithBirthday:(NSString *)birthday
                         WithOcuppytion:(NSString *)ocuppytion
                         WithBirthPlace:(NSString *)birthPlace
                          WithLivePlace:(NSString *)livePlace
                                 WithQQ:(NSString *)qq
                             WithMobile:(NSString *)mobile
                             WithWechat:(NSString *)wechat
                             WithGender:(NSString *)gender
                       WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                        WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 封禁用户 

- (MPRequest *)BanUserWithUserID:(NSString *)UserID
                WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                 WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 评论

- (MPRequest *)CommentWithUserID:(NSString *)UserID
                     WithContent:(NSString *)content
                        WithMPID:(NSString *)mpid
                WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                 WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 获得评论

- (MPRequest *)GetCommentWithMPID:(NSString *)mpid
                 WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                  WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 获得收藏列表

- (MPRequest *)GetCollectWithUserID:(NSString *)UserID
                   WithSuccessBlock:(MPRequestCompletedBlock )successBlock
                    WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

#pragma mark - 添加至收藏列表

- (MPRequest *)AttentionWithMPID:(NSString *)MPID WithUserID:(NSString *)UserID WithSuccessBlock:(MPRequestCompletedBlock )successBlock WithFailedBlock:(MPRequestCompletedBlock )failedBlock;

@end
